#ifndef __OPTIMIZER_H__
#define __OPTIMIZER_H__

#include "Model.h"
#include "ErrorFunction.h"
#include "OptimizationSupervisor.h"

namespace learn {

struct Optimizer {
	virtual ~Optimizer() {}
	virtual float optimize(Model &model, ErrorFunction &errorFunction, OptimizationSupervisor &data) = 0;	
};

}

#endif // __OPTIMIZER_H__